/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.ufes.gpf.sgm.state.listarPessoas;

import edu.ufes.gpf.sgm.command.listarPessoas.ExcluirPessoasCommand;
import edu.ufes.gpf.sgm.command.listarPessoas.VisualizarPessoasCommand;
import edu.ufes.gpf.sgm.model.Pessoa;
import edu.ufes.gpf.sgm.presenter.ListarPessoasPresenter;

/**
 *
 * @author Guilherme
 */
public class EstadoSelecionadoPessoas extends AbstractStateListarPessoas {

    public EstadoSelecionadoPessoas(ListarPessoasPresenter objeto) {
        super(objeto);
        
        objeto.setPessoa(null);
        int linha = objeto.getView().getTblListaPessoas().getSelectedRow();
        String id = (String) objeto.getView().getTblListaPessoas().getValueAt(linha, 0);
        objeto.setPessoa(objeto.getPessoas().buscarPorId(Integer.parseInt(id)));
        objeto.getView().getBtnExcluir().setEnabled(true);
        objeto.getView().getBtnVisualizar().setEnabled(true);
        objeto.getView().getBtnNovo().setEnabled(false);
    }

    @Override
    public void deseleciona() throws Exception {
        objeto.setEstado(new EstadoNaoSelecionadoPessoas(objeto));
    }

    @Override
    public void exclui() {
        new ExcluirPessoasCommand(objeto).execute();
    }

    @Override
    public void visualiza() {
        new VisualizarPessoasCommand(objeto).execute();
    }
     
}
